package com.rgsx.service;

import com.rgsx.entiy.Position;
import com.rgsx.vo.ResultVo;
import org.springframework.stereotype.Service;

@Service
public interface OrderService {
    /**
     * 乘客发起定位
     * @param positionStart 位置
     * @param token 乘客token
     * @return
     */
    public ResultVo OrderOrigination(Position positionStart ,Position positionEnd ,String token);

    /**
     * @introduce 司机接单
     * @param orderId 司机的token
     * @return
     */
    public ResultVo ReceivingOrders(long orderId,long driverId);

    /**
     * @introduce 用户上车
     * @param userName 乘客
     * @return
     */
    public ResultVo GetOnTheCar(long orderId, String userName);

    /**
     * 订单结束（用户下车）
     * @param orderId
     * @return
     */
    public ResultVo orderOver(long orderId,Position position);


    /**
     * 获取某乘客进行中的订单（state不为 1/2）
     * @param passagerId
     * @return
     */
    public ResultVo getAllOrder(long passagerId);

    /**
     * 获取某司机附近的乘客
     * @param driverId
     * @return
     */
    public ResultVo getNearbyOrder(long driverId,Position position);

    /**
     * 获取司机的订单（进行中）
     * @param driverId
     * @return
     */
    public ResultVo getDriverOrder(long driverId);
}
